Blog search

Friday Facts #209 - Optimisation is a way of life

Posted by kovarex on 2017-09-21

I need to make a confession. I'm addicted. Addicted to optimisation.

Friday Facts #358 - Alien decoratives & Polluted water

Posted by Jitka, Klonan, V453000, posila on 2020-07-31

Launch party cancelled Jitka The COVID pandemic around the globe is making it really hard to plan any event these days, and we were pretty optimistic just a few weeks back. However the situation here is now changing for the worse it seems. The number of positively tested cases of COVID here in Czech has been increasing in relatively high numbers every day for the past two weeks, and the restrictions are again taking place. In Prague, face masks are required to be worn again where more than 100 people gather indoors, no events over 500 people are permitted as of last week, etc. The current uncertainty together with the fact that at least half of the invited guests will not be able to attend the party (including some members of our own team), have led us into making a tough decision: we have decided to cancel the Factorio 1.0 release party we were intending to throw on 4th September 2020. For those of you who already purchased a ticket(s) - the full ticket price will be refunded. We hope there will be another opportunity to meet you all in the foreseeable future, but for now, please accept our apologies for any inconveniences caused. This wasn't an easy decision for us to make, but we believe it is the right one.

Friday Facts #407 - Automating a soundtrack

Posted by Albert, Donion on 2024-04-19

Hello, Today we continue our musical journey.

Friday Facts #262 - Hello my name is: Compilatron

Posted by Abregado, Wheybags on 2018-09-28

In FFF-241 we discussed how the game delivers information to the player in a number of confused ways; Blinking arrows and circles, chat messages on the bottom left corner of the screen, objectives in the top left, orange modal boxes bubbles on top of the player, and so on. These problems are exacerbated on high resolution monitors, where the information becomes even further spread apart. We have tried a few ways to unify this information, but much of it was required to be in the world space, or needed to have a link between the screen space and the world space. The common solution to this is to have the GUI 'point' to an entity in the game world, but we wanted something more interesting.

Friday Facts #393 - Putting things on top of other things

Posted by V453000 on 2024-01-12

Hello, I have an irresistible urge to tell you a little story. I'm sure you come here for stories, don't you?

Friday Facts #275 - 0.17 Science changes

Posted by V453000 & Albert on 2018-12-28

It's the last Friday of 2018, and as such the last Friday Facts before the New year of 2019. We all hope everyone has had a great 2018, and looking forward to a lot more automation fun to come in 2019. Albert has produced a postcard for you all to share to give the year a good send-off.

Friday Facts #284 - 0.17 experimental

Posted by kovarex, Abregado on 2019-03-01

The release (kovarex) So we finally released the 0.17 experimental this week. (patch notes) Hooray :) Fun fact: The release script failed to post the release announcement on Steam and Reddit and we were wondering why. The reason is that the patch notes were so big, that it exceeded the maximum post size (40k characters). If this isn't the indication that we should split our releases into smaller chunks, than nothing is :). Code wise, it is clearly the biggest release, and the amount of bugs we have to go through correlates with it. In other words, there are tons of bugs of all variety. We want to fix everything eventually, but it will take time, so we had to prioritize this week to aim for the most generally playable version before the first weekend after release. That means mainly unloadable saves, unavoidable crashes, game failing on startup, and the most frequently occurring problems. Our automatic bug reporting system is helping us a lot with the last one. It is uncommon, but sometimes the automatically uploaded crash report doesn't have enough information for us to be able to fix the bug right away, but the number of times we see a crash happening is still extremely useful for prioritizing. When we see a crash on the forum, we can cross reference it to our automatic reports, and if is one of our 'top-hits', we know to investigate it right away. The most prominent crash related to loading specific kind of save happened with pipe ghosts happened more than 200 times. It was fixed (obviously), but lets wait and see what our top hit of 0.17.4 will be after the weekend. Overall this means, that bugs that are not critical, require design discussions or are not that simple to fix are not being dealt with right now. Also, we got quite a surprising cake gift today. It is extremely delicious and we are extremely thankful for it :).

Friday Facts #302 - The multiplayer megapacket

Posted by Twinsen, Klonan on 2019-07-05

The multiplayer megapacket Twinsen Last month I joined KatherineOfSky's MMO event as a player. I noticed that after we reached a certain number of players, every few minutes a bunch of them got dropped. Luckily for you (but unluckily for me), I was one of the players who got disconnected every, single. time, even though I had a decent connection. So I took the matter personally and started looking into the problem. After 3 weeks of debugging, testing and fixing, the issue is finally fixed, but the journey there was not that easy. Multiplayer issues are very hard to track down. Usually they only happen under very specific network conditions, in very specific game conditions (in this case having more than 200 players). Even when you can reproduce the issue it's impossible to properly debug, since placing a breakpoint stops the game, messes up the timers and usually times out the connection. But through some perseverance and thanks to an awesome tool called clumsy, I managed to figure out what was happening. The short version is: Because of a bug and an incomplete implementation of the latency state simulation, a client would sometimes end up in a situation where it would send a network package of about 400 entity selection input actions in one tick (what we called 'the megapacket'). The server then not only has to correctly receive those input actions but also send them to everyone else. That quickly becomes a problem when you have 200 clients. It quickly saturates the server upload, causes packet loss and causes a cascade of re-requested packets. Delayed input actions then cause more clients to send megapackets, cascading even further. The lucky clients manage to recover, the others end up being dropped. The issue was quite fundamental and took 2 weeks to fix. It's quite technical so I'll explain in juicy technical details below. But what you need to know is that since Version 0.17.54 released yesterday, multiplayer will be more stable and latency hiding will be much less glitchy (less rubber banding and teleporting) when experiencing temporary connection problems. I also changed how latency hiding is handled in combat, hopefully making it look a bit smoother.

Friday Facts #420 - Fusion Reactor

Posted by Earendel on 2024-07-19

Hello, I'm sure you're familiar with the good old Nuclear reactor. It's a fission reactor that makes a lot of power in conjunction with its steam turbines. The nuclear energy system is unlocked on Nauvis, and in the context of Space Age, that makes it an early-to-mid game unlock. For the planet Nauvis, nuclear power is great for the whole game. Water is endless, and uranium is plentiful. For space platforms it's not ideal because it takes a lot of water and a fair amount of space. Solar panels are so good in space, especially near the sun, that it's harder to justify a reactor on a small platform. If you're mainly going around Fulgora then nuclear becomes more competitive because Fulgora has more ice from asteroids and less solar energy. Later, when you head to the 4th new planet, nuclear becomes a much better option because the solar power is so low and ice is more abundant. At that point, you've had nuclear as an option for all the 5 planets (although you probably don't use it on all of them), and a few space routes, so it's time to unlock a new and exciting energy system.